package veilingService;

import java.util.ArrayList;
import java.util.List;

import veilingDomein.Factuur;
import veilingDomein.FactuurRegel;
import veilingDomein.User;
import veilingDomein.Veiling;
import actions.visitors.VeilingLijstItem;

public interface IVeilingService {

	public List<Veiling> getVeilingenByUser(User u);

	public Veiling getVeilingByID(int id);

	public void schrijfVeilingWeg(Veiling veiling);
	public void sluitVeiling(int id);

	public ArrayList<Veiling> haalVeilingenop();

	public int getAantalVeilingen();

	public int getAantalOpenVeilingen();

	public void updateVeiling(Veiling v);

	public void getMediaBijVeiling(Veiling veiling);

	public int getAantalVeilingenPerCategorie(int categorieid);

	public int getNewVeilingId();

	public ArrayList<VeilingLijstItem> zoekVeilingen(String zoekwoord,
			String catnaam, int min, int max, int rownumStart, int rownumEind,
			String sorterenOp);

	public ArrayList<VeilingLijstItem> zoekVeilingenTitelEnBeschrijving(
			String zoekwoord, String catnaam, int min, int max,
			int rownumStart, int rownumEind, String sorterenOp);

	public int zoekVeilingenCount(String zoekwoord, String catnaam, int min,
			int max);

	public int getAantalVeilingenPerGebruiker(int userid);

	public void kredietFactuurToevoegen(User user, int aantal);

	public int getNewFactuurId();

	public int getNewMediaId();

	public ArrayList<Factuur> getFacturen(User u);
	
	public ArrayList<FactuurRegel> getFactuurRegels(Factuur factuur);

}
